package com.chat;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * 简单理解UDP
 * 一对一聊天
 */
public class UdpChatDemo02 {
    public static void main(String[] args) throws Exception {
        /**
         * 接收消息
         */
        // 1.创建socket连接
        DatagramSocket socket = new DatagramSocket(6666);
        // 一直监听接收消息
        while (true) {
            // 2.组装接收数据包
            byte[] container = new byte[1024];
            DatagramPacket packet = new DatagramPacket(container, 0, container.length);
            socket.receive(packet);// 阻塞式接收包裹
            // 如果发送过来的 bye 即断开连接
            // 接收数据转成 String 类型
            byte[] data = packet.getData();
            // 接收消息
            String s = new String(data, 0, data.length);
            System.out.println(s);
            if (s.equals("bye")) {
                break;
            }
        }
        // 关闭资源
        socket.close();
    }
}
